home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / debugtx.arc / 01INTROD.DOC < prev    next >
Encoding:
Text File  |  1991-08-11  |  12.2 KB  |  272 lines

  1. CHAPTER 1   INTRODUCTION AND LEGAL TERMS                      1-1
  2.  
  3. Introduction
  4.  
  5. D86 is a screen-oriented assembly-language debugger for the IBM-
  6. PC, compatibles, and several not-so-compatibles (Wang-PC, TI-PC, 
  7. Tandy 2000, and Sanyo 55x).  D86 is the finest debugger 
  8. available, at any price under any conditions, for the following: 
  9.  
  10. 1. Learning 8086 assembly language.
  11.  
  12. 2. Exploring the machine state of your computer (memory 
  13.    structure, registers, etc.) 
  14.  
  15. 3. Doing assembly-language program development using my A86 
  16.    assembler.
  17.  
  18. 4. Doing any kind of debugging involving the floating-point (8087 
  19.    or 287) coprocessor. 
  20.  
  21. In contrast to software firms who attempt to restrict the 
  22. distribution of their software through protection schemes, I 
  23. encourage free distribution, and trust that those who use my 
  24. products will pay for them.  Please keep in mind the fundamental 
  25. good spirit of free-distribution software as you endure the 
  26. following barrage of legalities.  Then evaluate the outstanding 
  27. value that the D86 package offers you.  I assure you that you 
  28. will not be disappointed. 
  29.  
  30.  
  31. Legal Terms and Conditions
  32.  
  33. This package is provided to you under the following conditions:
  34.  
  35. 1. You may copy this entire package, and give it to anyone who 
  36.    accepts these terms.  The copies you distribute must be 
  37.    complete and unmodified.  You do not have to be registered to 
  38.    distribute this package.  
  39.  
  40. 2. You may execute the programs in this package, in order to 
  41.    evaluate them.  If you decide that any of this package is of 
  42.    use to you, you must become a registered user by sending $40 
  43.    US to: 
  44.  
  45.       Eric Isaacson
  46.       416 E. University Street
  47.       Bloomington, IN 47401 
  48.  
  49.    For your convenience, I now accept Visa and MasterCard, by 
  50.    telephone.  My number is (812)339-1811.
  51.  
  52.    For the convenience of users in Great Britain, I have author-
  53.    ized the firm Shareware Marketing to collect registrations for 
  54.    me.  If you register through them you MUST get the update 
  55.    disk, since most of their profit comes from the update.  If 
  56.    you don't want the update right away you can ask them to give 
  57.    you a voucher good for an update in the future. We'll try to 
  58.                                                              1-2
  59.  
  60.    keep the prices about the same whether you register through me 
  61.    or through them; it's your choice.  Their address is 87 High 
  62.    Street, Tonbridge, Kent TN9 1RX; telephone 0732 358125.  
  63.    They'll send me a list of registered users at the end of every 
  64.    month, and I'll send an acknowledgement to each user when I 
  65.    get the list.  So if you haven't heard from me by the third 
  66.    week of the month following your registration with them, 
  67.    please let me know. 
  68.  
  69.    Registered users may order update-diskettes (5.25 inch, double 
  70.    density) for $10 US, or $12 US if you are overseas. (In other 
  71.    words, send $50, $52 if overseas, if you want to register and 
  72.    get an update-diskette.)  Once you register for this package, 
  73.    you are registered for all future versions.  As long as I'm in 
  74.    business, you can get the latest version for just the update
  75.    fee.
  76.  
  77.    To use D86, you must have the associated assembler, A86.  A 
  78.    copy of A86 (without all of its documentation) is included in 
  79.    the D86 package.  If you are using D86 to debug only programs 
  80.    written in languages other than A86, then you do not need to 
  81.    register for A86.  If you are programming in A86, then you 
  82.    must register for A86.  There is a $10 discount for combined 
  83.    registration of A86 and D86.  Instead of $40+$40 = $80, the 
  84.    charge for both packages is $70 with no update, $80 with 
  85.    the update ($82 overseas). 
  86.  
  87.    Indiana residents need to add sales tax.  At the current rate 
  88.    of 5%, the prices for Indiana residents are $42 for one 
  89.    product, $52.50 for one product with update, $73.50 both 
  90.    products, $84 both products with update. 
  91.  
  92.    Educational institutions and training facilities MUST be 
  93.    registered in order to use D86 in courses.  Contact me for 
  94.    special terms. 
  95.  
  96.    Companies and government agencies MUST be registered in order 
  97.    to use D86 for their work.  Again, contact me for special 
  98.    terms. 
  99.  
  100. 3. You may not sell this package to anyone.  If you distribute 
  101.    this package on a diskette, any fees you collect must be 
  102.    specified as materials/handling, and may not exceed $10 for 
  103.    the diskette.  
  104.  
  105. 4. You are completely responsible for determining the fitness or 
  106.    usability of this package.  I will not be liable for any 
  107.    damages, of any kind, arising from any failure of any programs 
  108.    in this package to perform as expected.  
  109.                                                              1-3
  110. Overview of D86
  111.  
  112. D86 is a screen-oriented program that allows you to troubleshoot 
  113. faulty computer programs written for the IBM-PC, Wang-PC, TI-PC,
  114. or Sanyo computer.  It "freezes" the state of your program, and 
  115. allows you to investigate the values of registers, flags, and 
  116. memory.  You can monitor your program's execution by stepping it 
  117. one instruction or procedure at a time; or you can start your 
  118. program running, telling D86 to stop it when it reaches certain 
  119. locations.  D86 recognizes the symbol-table output of the A86 
  120. assembler, creating a symbolic disassembly of your A86 program, 
  121. and allowing you to refer to locations and variables by name. 
  122.  
  123. The primary design criterion for D86 is ease of use.  This is 
  124. reflected in the most notable features of D86: 
  125.  
  126. * You don't need to ask D86 what the values of registers and 
  127.   flags are.  They are there, automatically, at a fixed location 
  128.   on the screen. 
  129.  
  130. * You don't need to ask D86 where in your program you are 
  131.   stopped.  A disassembly is always generated, at another fixed 
  132.   location on the screen. The disassembly gives a hefty chunk of 
  133.   your program, not just the single instruction you are at.  A 
  134.   cursor next to the disassembly marks the current location.  The 
  135.   disassembly chunk remains fixed as you step though it, allowing 
  136.   you to follow the flow of the program much more easily.  If you 
  137.   wrote the program using A86, the disassembly is symbolic, 
  138.   giving instruction operands by name, and labelling disassembly 
  139.   locations when possible. 
  140.  
  141. * You don't need to ask D86 what is on the machine stack. A 
  142.   display of the top elements of the stack is always generated, 
  143.   at yet another fixed location on the screen. 
  144.  
  145. * You can set up windows into memory, displaying memory contents 
  146.   in a variety of types.  The types can even be mixed, to display 
  147.   complicated structures. The windows will stay at the same 
  148.   location until you turn them off, allowing you to watch what 
  149.   your program is doing to those memory locations. 
  150.  
  151. * If you have an 8087 or 287 floating-point chip, D86 will generate 
  152.   complete window of the 87 state.  The values of the stack 
  153.   elements are in a readable decimal format, with suppression of 
  154.   unneccessary zeroes, and scientific notation only if necessary.
  155.  
  156. * You can, at any time, enable a help-window, to guide you 
  157.   through debugger commands.  You will be astounded by the 
  158.   sophistication of this help-facility, especially since other 
  159.   debuggers offer no on-line help whatsoever. 
  160.  
  161. * All of the above-mentioned windows, except for the last two, 
  162.   exist on the screen at the same time.  You don't have to switch 
  163.   between them. 
  164.                                                              1-4
  165.  
  166. * You can single-step your program with single keystrokes, rather 
  167.   than sequences of arcane commands.  There are several flavors 
  168.   of single-step keys, clustered together on the function-keypad.  
  169.   This, combined with the automatic nature of the display, allows 
  170.   you to single-step very quickly.  You feel like you are 
  171.   actually watching your program run. 
  172.  
  173. * Much of D86's command language is simply the A86 assembly 
  174.   language itself. You can type in any A86 instruction, to be 
  175.   executed immediately.  You use this to set registers and 
  176.   variables, perform arithmetic, jump to another location, etc.  
  177.   The immediate-execution feature makes D86 the most effective 
  178.   tool available for teaching 86 architecture: the student can 
  179.   watch the effects of instructions on registers, flags, and 
  180.   memory. 
  181.  
  182. * You can patch programs in memory, using the full power of the 
  183.   A86 assembly language. 
  184.  
  185.  
  186. Who IS That Guy?
  187.  
  188. For those of you who wish to know what credentials I have for 
  189. producing programs that meet the above claims, let me tell you 
  190. who I am.  I am an independent software consultant.  I have 
  191. worked with Intel microprocessors since the early days of the 
  192. 8080.  As an employee of Intel, I was a part of the two-man team 
  193. that implemented the first ASM86 assembler.  I am one of the 
  194. world's leading authorities on the entire 86-family of 
  195. microcomputers, having completed numerous major projects 
  196. involving the 8086, and 80186, and the 80286.  I have completed 
  197. a book on the 386/387 architecture, to be published soon by
  198. Wiley and Sons.    
  199.  
  200. A86 and D86 themselves are mature, solid programs.  They have 
  201. been in existence for 3 years, running first under my own, 
  202. proprietary operating system; then later under the Xenix 
  203. operating system on Altos computers, used by myself and my 
  204. clients.  
  205.  
  206. Although I have been unknown to the world of the IBM-PC until 
  207. A86 and D86, I intend to change all that in the next couple of 
  208. years.  Peter Norton, watch out. 
  209.  
  210.  
  211. Support Your Local Bulletin Board 
  212.  
  213. Bob Breedlove, a BBS Sysop in California, sent me a suggestion 
  214. with his registration: that I do something to support Sysops, 
  215. since they are distributing my software for me.  Good point, Bob.  
  216. Let me try this experiment (but I reserve the legal right to 
  217. cancel this offer at any time, without notice): if anybody who 
  218. registers wishes to support the BBS from which they obtained my 
  219. program, they should tell me the name and phone number of the BBS 
  220. when they register.  They should also leave a message to the 
  221.                                                              1-5
  222.  
  223. Sysop that they have done so, so the Sysop can contact me with 
  224. his/her address.  If I receive 5 registrations naming a 
  225. particular BBS, I'll award a free registration to the Sysop-- the 
  226. Sysop can designate who the registration is for; or (if the Sysop 
  227. has already paid for a registration) he/she can elect to receive 
  228. a cash refund.  For each subsequent 5 registrations, I'll send 
  229. the Sysop a cash rebate equal to one half the registration fee.  
  230. Sorry, no bonuses for less than 5 registrations; I don't want to 
  231. be swamped with paperwork.  
  232.  
  233.  
  234. How to Get in Touch With Me
  235.  
  236. For earlier versions of D86, I didn't give out my telephone 
  237. number, because I was afraid that all my time would be chewed 
  238. up giving telephone support.  But then I attended a convention 
  239. of shareware programmers, in which the Big Boys (Wallace, 
  240. Button, Magee, etc.) unanimously agreed that a product needs 
  241. telephone support to be successful.  So I'll field questions from 
  242. REGISTERED users (and you can register on the spot, with a credit 
  243. card). 
  244.  
  245. So now your choices for contacting me are:
  246.  
  247. 1. Phone me by voice at (812)339-1811.  Have your credit card 
  248.   ready if you haven't registered yet.  If you get an answering 
  249.   machine, give your card number, expiration date, name as it 
  250.   appears on the card, address, city, state, zip, phone number 
  251.   with area code, which product or products your are registering 
  252.   for, and the amount.
  253.    
  254.   Sorry, but my current financial condition is such that I can't 
  255.   guarantee to return everybody's long-distance calls.  If you'd 
  256.   like to be SURE I'll get back to you, please invite me to call 
  257.   you back collect, or tell to charge the cost of the call to 
  258.   your credit-card. 
  259.   
  260. 2. Write to me.  Please enclose a stamped-self-addressed envelope 
  261.   if you want a reply.  
  262.   
  263. 3. Leave me bulletin-board mail, on the Bloomington PC-Link 
  264.   Central bulletin board, at (812)335-7252; or Indiana On-Line, 
  265.   at (812)332-7227.  I'll reply on the same board. 
  266.  
  267. PLEASE contact me if you find bugs in my programs; I'll fix them! 
  268. It's very frustrating to hear about people telling each other 
  269. about bugs, and not telling me.  I still await your bug list, 
  270. Greg Wettstein. 
  271.  
  272.